package io;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 通过提高每次读写的数据量，减少实际读写的次数
 *
 * 单字节的读写属于随机读写形式。
 * 一组字节的读写属于块读写形式
 * 大多是的硬件块读写都比随机读写性能好，尤其机械硬盘上体现的最为岷县
 *
 * InputStream和OutputStream上定义了块读写数据的相关方法。
 */
public class CopyDemo2 {
    public static void main(String[] args) throws IOException {
        FileInputStream fis = new FileInputStream("ppt.pptx");
        FileOutputStream fos = new FileOutputStream("ppt_cp.pptx");

        byte[] data = new byte[1024*10];
        int len;

        long start = System.currentTimeMillis();
        while ((len = fis.read(data)) != -1){
            //fos.write(data);
            fos.write(data,0,len);
        }
        long end = System.currentTimeMillis();
        System.out.println("复制完毕！耗时"+(end-start)+"ms");
        fos.close();
        fis.close();
    }
}
